package com.travel.server.manager.api;

import com.travel.server.manager.dto.request.EmptyRequest;
import com.travel.server.manager.dto.request.PageRequest;
import com.travel.server.manager.dto.request.message.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

/**
 * @Author: LiZhenhui
 * @Date: 2018/11/5 16:37
 * @Desc:
 */
public interface IMessageService {

    /**
     * 查询邮件/短信模板
     * @param request
     * @return
     */
    @RequestMapping(value = "query_message_template", method = RequestMethod.POST)
    Object queryMessageTemplate(@RequestBody EmptyRequest request);

    /**
     * 发送邮件/短信
     * @param request
     * @return
     */
    @RequestMapping(value = "send_message", method = RequestMethod.POST)
    Object sendMessage(@RequestBody SendMessageRequest request);

    /**
     * 查询消息模板列表（邮件）
     * @param request
     * @return
     */
    @RequestMapping(value = "query_message_mail_list", method = RequestMethod.POST)
    Object queryMessageMailList(PageRequest request);

    /**
     * 删除消息模板
     * @param request
     * @return
     */
    @RequestMapping(value = "delete_message", method = RequestMethod.POST)
    Object deleteMessage(DeleteMessageRequest request);

    /**
     * 编辑消息模板（邮件）
     * @param request
     * @return
     */
    @RequestMapping(value = "update_message_mail", method = RequestMethod.POST)
    Object updateMessageMail(UpdateMessageMailRequest request);

    /**
     * 查询消息模板列表（短信）
     * @param request
     * @return
     */
    @RequestMapping(value = "query_message_msg_list", method = RequestMethod.POST)
    Object queryMessageMsgList(PageRequest request);

    /**
     * 编辑消息模板（短信）
     * @param request
     * @return
     */
    @RequestMapping(value = "update_message_msg", method = RequestMethod.POST)
    Object updateMessageMsg(UpdateMessageMsgRequest request);

    /**
     * 查询消息详情（短信）
     * @param request
     * @return
     */
    @RequestMapping(value = "query_message_msg_detail", method = RequestMethod.POST)
    Object queryMessageMsgDetail(QueryMessageMsgDetailRequest request);

    /**
     * 查询消息详情（邮件）
     * @param request
     * @return
     */
    @RequestMapping(value = "query_message_mail_detail", method = RequestMethod.POST)
    Object queryMessageMailDetail(QueryMessageMailDetailRequest request);
}
